The use of server computers has proliferated in recent years. One reason for server growth is that networks of desktop computers have largely taken over the computing tasks once reserved for mainframe systems. Since storage capacity of a desktop machine is often limited, files that are frequently used are often stored on remote server computers that allow multiple users ready access. In an enterprise environment, where large volumes of files must frequently be stored in such a way that fast, accurate reads and writes are readily supported, a large number of servers may be needed.
Servers are also the mainstay of data warehousing implementations, where analysis of large databases creates additional data that must be stored. Servers are widely used in data archiving applications, as well as in data replication and recovery. Organizations that support popular websites often employ multiple servers to support large numbers of users, and Internet Service Providers (ISPs) use multiple servers to support connections to multiple subscribers.
There are many instances in modern computing in which large numbers of servers perform the same or similar functions, and these servers are often co-located in order to simplify environmental control, more easily satisfy power requirements, and provide proper physical security for server installations. In order to monitor operation of large numbers of servers, the servers often share a common communication bus structure that supports status reporting and control functionality.